home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 September / Macworld (1997-09).dmg / Serious Software / Cherwell Scientific Demos / pro Fit / pro Fit 5.0 demo (fpu).sea / pro Fit 5.0 demo (fpu) / Functions & Programs / •Gadgets / Noise < prev    next >
Text File  |  1996-05-31  |  1KB  |  41 lines

  1. {
  2.  This program adds random noise to all non-empty cells
  3.  of a data column.
  4.  
  5.  To use the program, first click the button "Add" above to compile it, then
  6.  bring the desired data window to front and choose Noise from the Misc menu.
  7.  
  8.  You can enter the amplitude of the noise. It can either be
  9.  absolute (enter an absolute value) or relative to the present
  10.  value in a cell (enter a relative noise in percent)
  11. }
  12.  
  13. program Noise;
  14.  
  15.  var
  16.    amplitude, r: real;
  17.    percAbs: integer; {2:percent, 1:absolute}
  18.    column, i:integer;
  19.  
  20. procedure Initialize; {set default values}
  21. begin
  22.   amplitude := 10;
  23.   percAbs := 2;
  24.   column := 1;
  25. end;
  26.  
  27. begin
  28.   Input('$CColumn',column,
  29.         '$Pabsolute;percent$Noise type',percAbs,
  30.         'Amplitude',amplitude);
  31.   for i := 1 to NrRows do
  32.    if DataOK(i,column) then
  33.    begin
  34.      r := amplitude * (Random * 2 - 1); {Random returns between 0 and 1}
  35.      if percAbs=2 then
  36.        data[i,column] := data[i,column]*(1 + r/100)  {percent}
  37.      else
  38.        data[i,column] := data[i,column] + r;         {absolute}
  39.    end;
  40. end;
  41.